package com.nicolas.pattern.interpreter;

/**
 *  TerminalExpression（终结符表达式）：终结符表达式是抽象表达式的子类，
 *  它实现了与文法中的终结符相关联的解释操作，在句子中的每一个终结符都是该类的一个实例。
 *  通常在一个解释器模式中只有少数几个终结符表达式类，
 *  它们的实例可以通过非终结符表达式组成较为复杂的句子。
 * @author nicolas  2017年2月12日 -- 下午8:06:12
 * 方向解释：终结符表达式  
 */
public class ActionNode  extends AbstractNode {  
    private String action;  
      
    public ActionNode(String action) {  
        this.action = action;  
    }  
      
    //动作（移动方式）表达式的解释操作  
    public String interpret() {  
        if (action.equalsIgnoreCase("move")) {  
            return "移动";  
        }  
        else if (action.equalsIgnoreCase("run")) {  
            return "快速移动";  
        }  
        else {  
            return "无效指令";  
        }  
    }  
}
